#include <iostream>
#include <stdlib.h>
#include <cmath>

#include "Parser.h"

#define TAMANIO_BLOQUE 2097152
#define NOMBRE_LAZO_BLOQUE "lazo_tamanio_bloque"

int calcularTamanioBloque(Parser* parser, std::string d1) {
  std::string parametros= intToString(TAMANIO_BLOQUE);
  if(llamadaValgrind(NOMBRE_LAZO_BLOQUE, parametros, d1) != -1) {
    parser->parsear(SALIDA_CGANNOTATE, NOMBRE_LAZO_BLOQUE);
    
    int tamanioBloque= 0;
    int dw= parser->get_dw();
    int d1mw= parser->get_d1mw();    
    if(d1mw>0)
      tamanioBloque= round(((double)dw/(double)d1mw));
    return(tamanioBloque);
  }
  
  return(-1);
}
